home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / NDK / NDK_3.5 / Include / include_i / intuition / imageclass.i < prev    next >
Encoding:
Text File  |  1999-10-30  |  7.1 KB  |  233 lines

  1.     IFND INTUITION_IMAGECLASS_I
  2. INTUITION_IMAGECLASS_I SET 1
  3. **
  4. **  $VER: imageclass.i 44.1 (19.10.1999)
  5. **  Includes Release 44.1
  6. **
  7. **  Definitions for the image classes
  8. **
  9. **  (C) Copyright 1989-1999 Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND INTUITION_INTUITION_I
  14.     INCLUDE "intuition/intuition.i"
  15.     ENDC
  16.  
  17. *
  18. * NOTE:  intuition/iobsolete.i is included at the END of this file!
  19. *
  20.  
  21. CUSTOMIMAGEDEPTH    EQU (-1)
  22. * if image.Depth is this, it's a new Image class object
  23.  
  24. ******************************************************
  25. IMAGE_ATTRIBUTES    EQU (TAG_USER+$20000)
  26.  
  27. IA_Left        EQU (IMAGE_ATTRIBUTES+$0001)
  28. IA_Top        EQU (IMAGE_ATTRIBUTES+$0002)
  29. IA_Width    EQU (IMAGE_ATTRIBUTES+$0003)
  30. IA_Height    EQU (IMAGE_ATTRIBUTES+$0004)
  31. IA_FGPen    EQU (IMAGE_ATTRIBUTES+$0005)
  32.             ; IA_FGPen also means "PlanePick"
  33. IA_BGPen    EQU (IMAGE_ATTRIBUTES+$0006)
  34.             ; IA_BGPen also means "PlaneOnOff"
  35. IA_Data        EQU (IMAGE_ATTRIBUTES+$0007)
  36.             ; bitplanes, for classic image,
  37.             ; other image classes may use it for other things
  38. IA_LineWidth    EQU (IMAGE_ATTRIBUTES+$0008)
  39. IA_Pens        EQU (IMAGE_ATTRIBUTES+$000E)
  40.             ; pointer to UWORD pens[],
  41.             ; ala DrawInfo.Pens, MUST be
  42.             ; terminated by ~0.  Some classes can
  43.             ; choose to have this, or SYSIA_DrawInfo,
  44.             ; or both.
  45. IA_Resolution    EQU (IMAGE_ATTRIBUTES+$000F)
  46.             ; packed uwords for x/y resolution into a longword
  47.             ; ala DrawInfo.Resolution
  48.  
  49. * see class documentation to learn which
  50. * classes recognize these
  51. IA_APattern    EQU (IMAGE_ATTRIBUTES+$0010)
  52. IA_APatSize    EQU (IMAGE_ATTRIBUTES+$0011)
  53. IA_Mode        EQU (IMAGE_ATTRIBUTES+$0012)
  54. IA_Font        EQU (IMAGE_ATTRIBUTES+$0013)
  55. IA_Outline    EQU (IMAGE_ATTRIBUTES+$0014)
  56. IA_Recessed    EQU (IMAGE_ATTRIBUTES+$0015)
  57. IA_DoubleEmboss    EQU (IMAGE_ATTRIBUTES+$0016)
  58. IA_EdgesOnly    EQU (IMAGE_ATTRIBUTES+$0017)
  59.  
  60. * "sysiclass" attributes
  61. SYSIA_Size    EQU (IMAGE_ATTRIBUTES+$000B)
  62.             ; EQU's below
  63. SYSIA_Depth    EQU (IMAGE_ATTRIBUTES+$000C)
  64.             ; this is unused by Intuition.  SYSIA_DrawInfo
  65.             ; is used instead for V36
  66. SYSIA_Which    EQU (IMAGE_ATTRIBUTES+$000D)
  67.             ; see EQU's below
  68. SYSIA_DrawInfo    EQU (IMAGE_ATTRIBUTES+$0018)
  69.             ; pass to sysiclass, please
  70.  
  71. *  obsolete: don't use these, use IA_Pens
  72. SYSIA_Pens    EQU IA_Pens
  73. IA_ShadowPen    EQU (IMAGE_ATTRIBUTES+$0009)
  74. IA_HighlightPen    EQU (IMAGE_ATTRIBUTES+$000A)
  75.  
  76. * New for V39:
  77. SYSIA_ReferenceFont    EQU (IMAGE_ATTRIBUTES+$0019)
  78.  
  79. IA_SupportsDisable    EQU (IMAGE_ATTRIBUTES+$001a)
  80.             ; By default, Intuition ghosts gadgets itself,
  81.             ; instead of relying on IDS_DISABLED or
  82.             ; IDS_SELECTEDDISABLED.  An imageclass that
  83.             ; supports these states should return this attribute
  84.             ; as TRUE.    You cannot set or clear this attribute,
  85.             ; however.
  86.  
  87. IA_FrameType    EQU (IMAGE_ATTRIBUTES+$001b)
  88.             ; Starting with V39, FrameIClass recognizes
  89.             ; several standard types of frame.    Use one
  90.             ; of the FRAME_ specifiers below.  Defaults
  91.             ; to FRAME_DEFAULT.
  92.  
  93.  
  94. IA_Underscore    EQU (IMAGE_ATTRIBUTES+$001c)
  95. IA_Scalable    EQU (IMAGE_ATTRIBUTES+$001d)
  96. IA_ActivateKey    EQU (IMAGE_ATTRIBUTES+$001e)
  97. IA_Screen    EQU (IMAGE_ATTRIBUTES+$001f)
  98. IA_Precision    EQU (IMAGE_ATTRIBUTES+$0020)
  99.  
  100. * next attribute: (IMAGE_ATTRIBUTES+$0021)
  101. ******************************************************
  102.  
  103. * data values for SYSIA_Size
  104. SYSISIZE_MEDRES    EQU (0)
  105. SYSISIZE_LOWRES    EQU (1)
  106. SYSISIZE_HIRES    EQU (2)
  107.  
  108. *
  109. * SYSIA_Which tag data values:
  110. * Specifies which system gadget you want an image for.
  111. * Some numbers correspond to internal Intuition #defines
  112. DEPTHIMAGE    EQU ($00)    ; Window depth gadget image
  113. ZOOMIMAGE    EQU ($01)    ; Window zoom gadget image
  114. SIZEIMAGE    EQU ($02)    ; Window sizing gadget image
  115. CLOSEIMAGE    EQU ($03)    ; Window close gadget image
  116. SDEPTHIMAGE    EQU ($05)    ; Screen depth gadget image
  117. LEFTIMAGE    EQU ($0A)    ; Left-arrow gadget image
  118. UPIMAGE        EQU ($0B)    ; Up-arrow gadget image
  119. RIGHTIMAGE    EQU ($0C)    ; Right-arrow gadget image
  120. DOWNIMAGE    EQU ($0D)    ; Down-arrow gadget image
  121. CHECKIMAGE    EQU ($0E)    ; GadTools checkbox image
  122. MXIMAGE        EQU ($0F)    ; GadTools mutual exclude "button" image
  123. * New for V39:
  124. MENUCHECK    EQU ($10)
  125. AMIGAKEY    EQU ($11)
  126.  
  127. * Data values for IA_FrameType (recognized by FrameIClass)
  128. *
  129. * FRAME_DEFAULT:  The standard V37-type frame, which has
  130. *    thin edges.
  131. * FRAME_BUTTON:  Standard button gadget frames, having thicker
  132. *    sides and nicely edged corners.
  133. * FRAME_RIDGE:    A ridge such as used by standard string gadgets.
  134. *    You can recess the ridge to get a groove image.
  135. * FRAME_ICONDROPBOX: A broad ridge which is the standard imagery
  136. *    for areas in AppWindows where icons may be dropped.
  137.  
  138. FRAME_DEFAULT        EQU    0
  139. FRAME_BUTTON        EQU    1
  140. FRAME_RIDGE        EQU    2
  141. FRAME_ICONDROPBOX    EQU    3
  142.  
  143. * image message id's
  144. IM_DRAW        EQU ($0202)    ; draw yourself, with "state"
  145. IM_HITTEST    EQU ($0203)    ; return TRUE if click hits image
  146. IM_ERASE    EQU ($0204)    ; erase yourself
  147. IM_MOVE        EQU ($0205)    ; draw new and erase old, smoothly
  148.  
  149. IM_DRAWFRAME    EQU ($0206)    ; draw with specified dimensions
  150. IM_FRAMEBOX    EQU ($0207)    ; get recommended frame around some box
  151. IM_HITFRAME    EQU ($0208)    ; hittest with dimensions
  152. IM_ERASEFRAME    EQU ($0209)    ; hittest with dimensions
  153. IM_DOMAINFRAME    EQU ($020A)
  154.  
  155. * image draw states or styles, for IM_DRAW
  156. * Note that they have no bitwise meanings (unfortunately)
  157. IDS_NORMAL        EQU (0)
  158. IDS_SELECTED        EQU (1)    ; for selected gadgets
  159. IDS_DISABLED        EQU (2)    ; for disabled gadgets
  160. IDS_BUSY        EQU (3)    ; for future functionality
  161. IDS_INDETERMINATE    EQU (4)    ; for future functionality
  162. IDS_INACTIVENORMAL    EQU (5)    ; normal, in inactive window border
  163. IDS_INACTIVESELECTED    EQU (6)    ; selected, in inactive border
  164. IDS_INACTIVEDISABLED    EQU (7)    ; disabled, in inactive border
  165. IDS_SELECTEDDISABLED    EQU (8)
  166.  
  167. * oops, please forgive spelling error by jimm
  168. IDS_INDETERMINANT EQU IDS_INDETERMINATE
  169.  
  170. * IM_FRAMEBOX
  171.  STRUCTURE impFrameBox,4        ; starts with ULONG MethodID
  172.     APTR    impf_ContentsBox    ; input: relative box of contents
  173.     APTR    impf_FrameBox    ; output: rel. box of encl frame
  174.     APTR    impf_DrInfo    ; NB: May be NULL
  175.     LONG    impf_FrameFlags
  176.  
  177. ; Make do with the dimensions of FrameBox provided.
  178. FRAMEB_SPECIFY    EQU (0)
  179. FRAMEF_SPECIFY    EQU (1)
  180.  
  181.  
  182. * IM_DRAW, IM_DRAWFRAME
  183.  STRUCTURE impDraw,4        ; starts with ULONG MethodID
  184.     APTR    impd_RPort
  185.     WORD    impd_OffsetX
  186.     WORD    impd_OffsetY
  187.     ULONG    impd_State
  188.     APTR    impd_DrInfo    ; NB: May be NULL
  189.     ; these parameters only valid for IM_DRAWFRAME
  190.     WORD    impd_DimensionsWidth
  191.     WORD    impd_DimensionsHeight
  192.  
  193. * IM_ERASE, IM_ERASEFRAME
  194. * NOTE: This is a subset of impDraw
  195.  STRUCTURE impErase,4        ; starts with ULONG MethodID
  196.     APTR    impe_RPort
  197.     WORD    impe_OffsetX
  198.     WORD    impe_OffsetY
  199.     ; these parameters only valid for IM_ERASEFRAME
  200.     WORD    impe_DimensionsWidth
  201.     WORD    impe_DimensionsHeight
  202.  
  203. * IM_HITTEST, IM_HITFRAME
  204.  STRUCTURE impHitTest,4        ; starts with ULONG MethodID
  205.     ; these parameters only valid for IM_ERASEFRAME
  206.     WORD    imph_PointX
  207.     WORD    imph_PointY
  208.     ; these parameters only valid for IM_HITFRAME
  209.     WORD    imph_DimensionsWidth
  210.     WORD    imph_DimensionsHeight
  211.  
  212.  
  213. * IM_DOMAINFRAME
  214.  STRUCTURE impDomainFrame,4
  215.     APTR    impdo_DrInfo
  216.     APTR    impdo_RPort
  217.     LONG    impdo_Which
  218.     STRUCT    impdo_Domain,ibox_SIZEOF
  219.     APTR    impdo_Attrs
  220.  
  221. IDOMAIN_MINIMUM        EQU 0
  222. IDOMAIN_NOMINAL        EQU 1
  223. IDOMAIN_MAXIMUM        EQU 2
  224.  
  225.  
  226.  
  227. * Include obsolete identifiers:
  228.     IFND    INTUITION_IOBSOLETE_I
  229.     INCLUDE "intuition/iobsolete.i"
  230.     ENDC
  231.  
  232.     ENDC
  233.